///////////////////////////////////////////////////////////
//  OQLCompositeCondition.h
//  Implementation of the Class OQLCompositeCondition
//  Created on:      23-sep-2007 21:26:15
///////////////////////////////////////////////////////////

#if !defined(EA_10561757_68CA_44b6_854A_1089C71673F2__INCLUDED_)
#define EA_10561757_68CA_44b6_854A_1089C71673F2__INCLUDED_

#include "OQLCondition.h"
#include "OQLSimpleCondition.h"
#include <vector>
#include <map>
#include "../../common/fuentes/properties.h"

class OQLCompositeCondition : public OQLCondition
{

public:
	OQLCompositeCondition();
	virtual ~OQLCompositeCondition();
	void addCondition(OQLCondition* condition);
	virtual ListPersistent resolve(std::string table) = 0;
	virtual std::string getName() = 0;
	int getSize();
	OQLCondition* getCondition(int off);
	OQLCondition* extractLowLevelCond();
	void erase();
protected:
	std::vector<OQLCondition*> lsCondition;
	static Cproperties proper;

};
#endif // !defined(EA_10561757_68CA_44b6_854A_1089C71673F2__INCLUDED_)
